package mymyoux.core
{
	 /**
	 * IObject est une interface permettant aux objets l'implémentant de se reconnaitre entre eux et de se détruire proprement.
	 * @author Mymyoux
	 * @version 1.0
	 */
	public interface IObject
	{
		/**
		 * Renvoie un Boolean indiquant si l'objet envoyé en paramètre est équivalent ou non à l'instance.
		 * @param objet Objet de type IObject dont on cherche à savoir s'il est équivalent ou non.
		 */
		function equals(objet:IObject):Boolean;	
		/**
		 * Détruit l'instance en prenant soin de supprimer tous les écouteurs et autres facteurs de fuites de mémoire.
		 */
		function destroy():void;
		/**
		 * Convertit l'objet en chaine de caractères.
		 * @return	Une chaîne de caractères de la forme <code class="prettyprint">[ClasseObject paramètre1="valeur1" paramètre2="valeur2" ... ]</code> 
		 */
		function toString():String;
	}
}